
**************************************************************************************************************************************************
* 											Upload files "Immatricolati_Provenienza_Modello12.xlsx" downloaded from MIUR for each year 		     *
**************************************************************************************************************************************************

*****************************************************
* 	upload file Immatricolati_Provenienza.xlsx 	*
*****************************************************
* 2002
set more off
forvalues i=2002/2002 {
import excel "//Users/iMac/Desktop/ARTI/DB_Puglia/Iscritti_e_Immatricolati/Immatricolati_Provenienza.xlsx", sheet("Provenienza_`i'") clear firstrow 
gen anno=`i'
rename CODICEdelCorso ID_Corso
drop if ID_Corso==.
destring ID_Corso, replace
sort ID_Corso PROVENIENZAGEOGRAFICA
merge n:1 ID_Corso using Codici_Corsi_`i'
keep if (_merge==3 | _merge==1)
drop _merge
rename SEDEDIDATTICAdelCorsosiglap PROVINCIASEDEDIDATTICAdelcors
rename TIPOLOGIAdelCorso TIPOLOGIA
save Provenienza_`i', replace
}

* 2001 CODICECORSO is missing... then merge by ATENEO	FACOLTA' TIPOLOGIA	CORSO DI STUDI with 2002 and then proceed backward
forvalues i=2001/2001 {
import excel "//Users/iMac/Desktop/ARTI/DB_Puglia/Iscritti_e_Immatricolati/Immatricolati_Provenienza.xlsx", sheet("Provenienza_`i'") clear firstrow 
gen anno=`i'
sort ATENEO	FACOLTA TIPOLOGIA CORSODISTUDI PROVENIENZAGEOGRAFICA CITTADINANZA anno
drop if ATENEO==""
save Provenienza_`i', replace
bysort ATENEO FACOLTA TIPOLOGIA CORSODISTUDI PROVENIENZAGEOGRAFICA CITTADINANZA: gen a=_n
tab a
}

* from 2003 to 2011
set more off
forvalues i=2003/2011 {
import excel "//Users/iMac/Desktop/ARTI/DB_Puglia/Iscritti_e_Immatricolati/Immatricolati_Provenienza.xlsx", sheet("Provenienza_`i'") clear firstrow 
gen anno=`i'
rename CODICEdelCorso ID_Corso
destring ID_Corso, replace
sort ID_Corso
tab anno, missing
merge n:1 ID_Corso using Codici_Corsi_`i'
keep if (_merge==3 | _merge==1)
drop _merge
save Provenienza_`i', replace
}
* rename variables to harmonize the two datasets
set more off
forvalues i=2003/2011 {
use Provenienza_`i', clear
rename TIPOLOGIAdelCorso TIPOLOGIACORSO
rename SEDEDIDATTICAdelCorsocomune	COMUNESEDEDIDATTICAdelcorsod
rename SEDEDIDATTICAdelCorsosiglap	PROVINCIASEDEDIDATTICAdelcors
rename MASCHI TOTALEMASCHI
rename FEMMINE TOTALEFEMMINE
save Provenienza_`i', replace
}
set more off
forvalues i=2002/2002 {
use Provenienza_`i', clear
rename CORSODISTUDI CORSODISTUDIO
rename TIPOLOGIA TIPOLOGIACORSO
rename SEDEDIDATTICAdelCorsocomune COMUNESEDEDIDATTICAdelcorsod
rename MASCHI TOTALEMASCHI
rename FEMMINE TOTALEFEMMINE
save Provenienza_`i', replace
}
use Provenienza_2003, clear
drop CLASSE
save Provenienza_2003, replace

* append
use Provenienza_2002, clear
append using Provenienza_2003 Provenienza_2004 Provenienza_2005 Provenienza_2006 Provenienza_2007 Provenienza_2008 Provenienza_2009 Provenienza_2010 Provenienza_2011
destring COD_Ateneo, replace
keep ID_Corso anno CITTADINANZA PROVENIENZAGEOGRAFICA REGIONE TOTALEMASCHI TOTALEFEMMINE COD_Ateneo Tipo_Ateneo Tipologia Didattica_NomeProvincia COD_AreaDidattica COD_OCSE TOTALE 

* merge with the new coding
sort COD_Ateneo
merge n:n COD_Ateneo using COD_Ateneo_finale
keep if (_merge==3 | _merge==1)
drop _merge Nome_Ateneo E F
tab COD_AreaDidattica anno, missing
preserve
* define variable region starting from province
import excel "/Users/iMac/Desktop/ARTI/DB_Puglia/laureati/codici_province_regioni.xlsx", clear firstrow 
gen REGION=strupper(REGIONE)
drop REGIONE
rename REGION REGIONE
gen PROVINCE=strupper(PROVINCIA)
drop PROVINCIA
rename PROVINCE PROVINCIA
save codici_province_regioni, replace
* import graduate students data to retrieve provinces info (both origin and teaching provinces)
import excel "/Users/iMac/Desktop/ARTI/DB_Puglia/laureati/a.xlsx", clear firstrow
gen Didattica_NomeProvincia=strupper(C)
drop A
bysort Didattica_NomeProvincia: gen a=_n
keep if a==1
drop a C
sort Didattica_NomeProvincia
save a, replace
import excel "/Users/iMac/Desktop/ARTI/DB_Puglia/laureati/a.xlsx", clear firstrow
gen Didattica_NomeProvincia=strupper(C)
drop A
bysort Didattica_NomeProvincia: gen a=_n
keep if a==1
rename B COD_PROVINCIA
sort COD_PROVINCIA
save b, replace 
restore
* merge back a and b with data on enrolled  students
gen Didattica_NomeProvincia1=strupper(Didattica_NomeProvincia)
drop Didattica_NomeProvincia
rename Didattica_NomeProvincia1 Didattica_NomeProvincia
sort Didattica_NomeProvincia
merge n:1 Didattica_NomeProvincia using a
rename B COD_PROVINCIA
replace COD_PROVINCIA="040" if Didattica_NomeProvincia=="FORL�-CESENA"
replace COD_PROVINCIA="045" if Didattica_NomeProvincia=="MASSA"
replace COD_PROVINCIA="041" if Didattica_NomeProvincia=="PESARO"
replace COD_PROVINCIA="080" if Didattica_NomeProvincia=="REGGIO DI CALABRIA"
replace COD_PROVINCIA="035" if Didattica_NomeProvincia=="REGGIO NELL'EMILIA"
replace COD_PROVINCIA="007" if Didattica_NomeProvincia=="VALLE D'AOSTA"
replace COD_PROVINCIA="103" if Didattica_NomeProvincia=="VERBANIA"
replace COD_PROVINCIA=Didattica_NomeProvincia if COD_PROVINCIA=="" 
keep if _merge!=2
drop _merge Didattica_NomeProvincia
sort COD_PROVINCIA
merge n:1 COD_PROVINCIA using b
keep if _merge!=2
drop _merge 
* harmonize province of origin (PROVENIENZAGEOGRAFICA) and province of teaching (Didattica_NomeProvincia) 
gen PROVENIENZAGEOGRAFIC=strupper(PROVENIENZAGEOGRAFICA)
drop PROVENIENZAGEOGRAFICA
rename PROVENIENZAGEOGRAFIC PROVENIENZAGEOGRAFICA
replace PROVENIENZAGEOGRAFICA="FORLI'-CESENA" if PROVENIENZAGEOGRAFICA=="FORLI"
replace PROVENIENZAGEOGRAFICA="FORLI'-CESENA" if PROVENIENZAGEOGRAFICA=="FORLI'-CESENA"
replace PROVENIENZAGEOGRAFICA="L'AQUILA" if PROVENIENZAGEOGRAFICA=="L AQUILA"
replace PROVENIENZAGEOGRAFICA="MASSA-CARRARA" if PROVENIENZAGEOGRAFICA=="MASSA CARRARA"
replace PROVENIENZAGEOGRAFICA="MASSA-CARRARA" if PROVENIENZAGEOGRAFICA=="MASSA-CARRARA"
replace PROVENIENZAGEOGRAFICA="MONZA E DELLA BRIANZA" if PROVENIENZAGEOGRAFICA=="MONZA E BRIANZA"
replace PROVENIENZAGEOGRAFICA="PESARO E URBINO" if PROVENIENZAGEOGRAFICA=="PESARO-URBINO"
replace PROVENIENZAGEOGRAFICA="REGGIO CALABRIA" if PROVENIENZAGEOGRAFICA=="REGGIO DI CALABRIA"
replace PROVENIENZAGEOGRAFICA="REGGIO EMILIA" if PROVENIENZAGEOGRAFICA=="REGGIO NELL'EMILIA"
replace PROVENIENZAGEOGRAFICA="VERBANO-CUSIO-OSSOLA" if PROVENIENZAGEOGRAFICA=="VERBANIO-CUSIO-OSSOLA"
gen stessa_prov=(PROVENIENZAGEOGRAFICA==Didattica_NomeProvincia) 
drop C a REGIONE
* now we are ready to retrieve regions info (Didattica_NomeRegione and Regione_Provenienza) 
preserve
use codici_province_regioni, clear
replace PROVINCIA="ASCOLI PICENO" if PROVINCIA=="ASCOLI-PICENO"
replace PROVINCIA="CARBONIA-IGLESIAS" if PROVINCIA=="CARBONIA IGLESIAS"
replace PROVINCIA="FORLI'-CESENA" if PROVINCIA=="FORLI-CESENA"
replace PROVINCIA="LA SPEZIA" if PROVINCIA=="LA-SPEZIA"
replace PROVINCIA="MONZA E DELLA BRIANZA" if PROVINCIA=="MONZA-BRIANZA"
replace PROVINCIA="OLBIA-TEMPIO" if PROVINCIA=="OLBIA TEMPIO"
replace PROVINCIA="PESARO E URBINO" if PROVINCIA=="PESARO-URBINO"
replace PROVINCIA="REGGIO CALABRIA" if PROVINCIA=="REGGIO-CALABRIA"
replace PROVINCIA="REGGIO EMILIA" if PROVINCIA=="REGGIO-EMILIA"
replace PROVINCIA="VIBO VALENTIA" if PROVINCIA=="VIBO-VALENTIA"
rename  PROVINCIA PROVENIENZAGEOGRAFICA
save cod_prov_reg, replace
restore
merge n:1 PROVENIENZAGEOGRAFICA using cod_prov_reg
drop if _merge==2
drop _merge
rename REGIONE Regione_Provenienza
preserve
use codici_province_regioni, clear
replace PROVINCIA="ASCOLI PICENO" if PROVINCIA=="ASCOLI-PICENO"
replace PROVINCIA="CARBONIA-IGLESIAS" if PROVINCIA=="CARBONIA IGLESIAS"
replace PROVINCIA="FORLI'-CESENA" if PROVINCIA=="FORLI-CESENA"
replace PROVINCIA="LA SPEZIA" if PROVINCIA=="LA-SPEZIA"
replace PROVINCIA="MONZA E DELLA BRIANZA" if PROVINCIA=="MONZA-BRIANZA"
replace PROVINCIA="OLBIA-TEMPIO" if PROVINCIA=="OLBIA TEMPIO"
replace PROVINCIA="PESARO E URBINO" if PROVINCIA=="PESARO-URBINO"
replace PROVINCIA="REGGIO CALABRIA" if PROVINCIA=="REGGIO-CALABRIA"
replace PROVINCIA="REGGIO EMILIA" if PROVINCIA=="REGGIO-EMILIA"
replace PROVINCIA="VIBO VALENTIA" if PROVINCIA=="VIBO-VALENTIA"
local numobs = _N + 1
set obs `numobs'
replace PROV = "VB" in 111
replace REGIONE = "PIEMONTE" in 111
replace PROVINCIA = "VERBANO-CUSIO-OSSOLA" in 111
rename  PROVINCIA Didattica_NomeProvincia
save cod_prov_reg, replace
restore
merge n:1 Didattica_NomeProvincia using cod_prov_reg
rename REGIONE Didattica_Regione
drop if _merge==2
drop _merge
drop if ID_Corso==.
drop PROV COD_PROVINCIA
replace Regione_Provenienza="ESTERO" if (CITTADINANZA=="STRANIERA" & Regione_Provenienza=="")
replace Regione_Provenienza="ITALIANO RESIDENTE ESTERO" if (PROVENIENZAGEOGRAFICA=="ITALIANI RESIDENTI ALL'ESTERO")
replace Regione_Provenienza="PIEMONTE" if PROVENIENZAGEOGRAFICA=="VERBANO-CUSIO-OSSOLA"
gen stessa_regione=(Didattica_Regione==Regione_Provenienza)
* define type of enrolled course (Tipologia_Livello): undergad grad etc...
gen Tipologia_Livello=""
replace Tipologia_Livello="1 LIV" if Tipologia=="L"
replace Tipologia_Livello="1 LIV" if Tipologia=="L270"
replace Tipologia_Livello="2 LIV" if Tipologia=="LS"
replace Tipologia_Livello="2 LIV" if Tipologia=="LM"
replace Tipologia_Livello="2 LIV" if Tipologia=="LMG"
replace Tipologia_Livello="2 LIV CU" if Tipologia=="LSCU"
replace Tipologia_Livello="2 LIV CU" if Tipologia=="LMCU"
replace Tipologia_Livello="VO" if Tipologia=="CDL"
replace Tipologia_Livello="VO" if Tipologia=="CDU"
replace Tipologia_Livello="VO" if Tipologia=="SDFS"
* export csv and save dta
outsheet using "//Users/iMac/Desktop/ARTI/DB_Puglia/Iscritti_e_Immatricolati/Immatricolati_Provenienza_Finale.csv", comma replace 
* save file at course level
save Immatricolati_Provenienza_Finale, replace
